//@author A0087191Y
package net.mysoc.w111j.service;

import java.util.List;

import javafx.scene.chart.PieChart;
import javafx.scene.chart.XYChart;
import net.mysoc.w111j.model.Expense;

/**
 * An expense report.
 */
public class Report {
    /** The type of the report */
    private final ReportType type;
    /** Scatter chart data of individual expenses */
    private final List<XYChart.Series<Number, Number>> scatterChartData;
    /** Pie chart data for category summary */
    private final List<PieChart.Data> pieChartData;
    /** List of expenses included in the report */
    private final List<Expense> expenses;

    public Report(List<Expense> expenses, ReportType type,
                  List<XYChart.Series<Number, Number>> scatterChartData, List<PieChart.Data> pieChartData) {
        this.expenses = expenses;
        this.type = type;
        this.scatterChartData = scatterChartData;
        this.pieChartData = pieChartData;
    }

    public ReportType getType() {
        return type;
    }

    public List<Expense> getExpenses() {
        return this.expenses;
    }

    public List<XYChart.Series<Number, Number>> getScatterChartData() {
        return scatterChartData;
    }

    public List<PieChart.Data> getPieChartData() {
        return pieChartData;
    }
}
